/**
 * 客户主数据表单
 * Created by benben on 14-9-17.
 */
Ext.define('BenBen.modules.customer.CustomerForm', {
    extend: 'Ext.form.Panel',
    border : false,
    bodyStyle : 'padding:5px',
    defaults : {
        margin: '5 5 5 5',
        anchor : '98%',
        labelWidth : 60,
        msgTarget :'side',
        labelAlign : 'right'
    },
    initComponent: function () {

        var commonSet = Ext.create('Ext.form.FieldSet', {
            title : '客户通用信息',
            autoHeight : true,
            layout : 'column',
            items : [{
                columnWidth : .33,
                layout : 'form',
                border : false,
                items : [{
                    xtype: 'textfield',
                    name: 'customerName',
                    msgTarget :'side',
                    labelAlign : 'right',
                    allowBlank: false,
                    blankText : '客户名称不能为空',
                    fieldLabel: '客户名称'
                }]
            }, {
                columnWidth : .33,
                layout : 'form',
                border : false,
                items : [{
                    xtype: 'textfield',
                    name: 'customerNo',
                    labelAlign : 'right',
                    fieldLabel: '客户编号'
                }]
            }, {
                columnWidth : .33,
                layout : 'form',
                border : false,
                items : [{
                    xtype: 'combo',
                    name: 'grade',
                    fieldLabel: '客户级别',
                    mode : 'local',
                    editable : false,
                    labelAlign : 'right',
                    value : 1,
                    triggerAction : 'all',
                    displayField : 'name',
                    valueField : 'number',
                    store : new Ext.data.SimpleStore({
                        fields : ['number','name'],
                        data : [[1,'潜在客户'],[2,'普通客户'],[3,'主要客户'],[4,'大客户']]
                    })
                }]
            }]
        });

        var provinceStore = Ext.create('Ext.data.Store',{
            autoLoad : false,
            fields: ['no','name'],
            proxy: {
                type: 'rest',
                actionMethods: {
                    create : 'POST',
                    read   : 'GET',
                    update : 'POST',
                    destroy: 'POST'
                },
                url : '/systemAreas/provinces',
                reader: {
                    type: 'json',
                    root: 'data',
                    totalProperty: 'totalCount'
                }
            }
        });

        var cityStore = Ext.create('Ext.data.Store',{
            autoLoad : false,
            fields: ['_id','name'],
            proxy: {
                type: 'rest',
                actionMethods: {
                    create : 'POST',
                    read   : 'GET',
                    update : 'POST',
                    destroy: 'POST'
                },
                url : '/systemAreas/cities',
                reader: {
                    type: 'json',
                    root: 'data',
                    totalProperty: 'totalCount'
                }
            }
        });

        var province = Ext.create('Ext.form.ComboBox',{
            name: 'province',
            fieldLabel : '省',
            editable : false,
            labelAlign : 'right',
            value : '',
            triggerAction : 'all',
            displayField : 'name',
            valueField : 'name',
            store : provinceStore,
            listeners: {
                select: function(combo, record, option) {
                    var no = record[record.length - 1].data.no;
                    city.clearValue();
                    cityStore.load({
                        params : {
                            provinceNo : no
                        }
                    });
                }
            }
        });

        var city = Ext.create('Ext.form.ComboBox',{
            name: 'city',
            labelAlign : 'right',
            fieldLabel: '市',
            queryMode: 'local',
            editable : false,
            value : '',
            triggerAction : 'all',
            displayField : 'name',
            valueField : 'name',
            store : cityStore
        });



        var contactSet = Ext.create('Ext.form.FieldSet', {
            title : '联系信息',
            autoHeight : true,
            layout : 'form',
            items : [{
                layout : 'column',
                border : false,
                items : [{
                    columnWidth : .33,
                    layout : 'form',
                    border : false,
                    items : [{
                        xtype: 'textfield',
                        name: 'phone',
                        labelAlign : 'right',
                        fieldLabel : '联系电话'
                    },{
                        xtype: 'textfield',
                        name: 'email',
                        labelAlign : 'right',
                        fieldLabel: '邮箱'
                    }]
                }, {
                    columnWidth : .33,
                    layout : 'form',
                    border : false,
                    items : [{
                        xtype: 'textfield',
                        name: 'fax',
                        labelAlign : 'right',
                        fieldLabel: '传真'
                    },{
                        xtype: 'textfield',
                        name: 'postCode',
                        labelAlign : 'right',
                        fieldLabel: '邮编'
                    }]
                }, {
                    columnWidth : .33,
                    layout : 'form',
                    border : false,
                    items : [{
                        xtype: 'textfield',
                        name: 'webSite',
                        labelAlign : 'right',
                        fieldLabel: '网站'
                    }]
                }]
            },{
                layout : 'column',
                border : false,
                items : [{
                    columnWidth : .25,
                    layout : 'form',
                    border : false,
                    items : [province]
                }, {
                    columnWidth : .25,
                    layout : 'form',
                    border : false,
                    items : [city]
                }, {
                    columnWidth : .49,
                    layout : 'form',
                    border : false,
                    items : [{
                        xtype: 'textfield',
                        name: 'address',
                        labelAlign : 'right',
                        fieldLabel: '地址'
                    }]
                }]
            }]

        });

        var remark = {
            xtype: 'textarea',
            name: 'remark',
            fieldLabel: '备注'
        };

        Ext.apply(this,{
            border : false,
            layout : 'anchor',
            items : [commonSet,contactSet,remark]
        });

        this.callParent(arguments);
    }
});
